{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Decision Tree Regression (using DecisionTrees.jl)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Adapted from http://scikit-learn.org/stable/auto_examples/tree/plot_tree_regression.html"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "A 1D regression with decision tree.\n",
    "\n",
    "The decision trees is used to fit a sine curve with addition noisy observation. As a result, it learns local linear regressions approximating the sine curve.\n",
    "\n",
    "We can see that if the maximum depth of the tree (controlled by the max_depth parameter) is set too high, the decision trees learn too fine details of the training data and learn from the noise, i.e. they overfit."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAjkAAAHHCAYAAABdm0mZAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAPYQAAD2EBqD+naQAAIABJREFUeJzs3Xl8VOX1+PHPzWQlgUBYQyYQVsGCSEFFJBLEiiAKhACiVUFLrbgAVWypP+3XikUENREXrBvVyiIxKqJiqYCm1lrFBTd2UAgJJCyBkP3O/f1xMzP3ZpbcSSb7eb9e83Lmzp3Jk3HInDnnPM+jaJqmIYQQQgjRwoQ09gCEEEIIIeqDBDlCCCGEaJEkyBFCCCFEiyRBjhBCCCFaJAlyhBBCCNEiSZAjhBBCiBZJghwhhBBCtEgS5AghhBCiRZIgRwghhBAtkgQ5QjQTBw8eRFEUVq1aFdDjUlJSSElJqZcxiZZn5cqVKIpCXl5eYw9FiDqTIEcIi1atWoWiKK5LZGQk3bt3Z9y4cTz55JOcOXOmsYfYZCQlJZleK1+XQAO2+uL8YHdeQkNDsdvt3HLLLfJhL0QzpsjeVUJYs2rVKmbPns1f/vIXevXqRUVFBXl5eWzbto3NmzfTo0cPNmzYwHnnnVcvP1/TNMrKyggLC8Nms1l+XHl5OQDh4eH1Mi5v3nrrLYqKily333vvPdasWcMTTzxBp06dXMdHjhxJ7969G2xcvqxcuZLbbruNJUuWYLfbKSkp4T//+Q+vvPIK/fv3Z8eOHYSFhTX2MBuEqqpUVFQQGRnZ2EMRos5CG3sAQjQ348ePZ/jw4a7bixYtYsuWLUycOJFrrrmGH3/8kaioqKD/XGf2KFANGdw4TZ482XQ7Ly+PNWvWMHnyZJKSkmp8fEVFBUCDBxYTJ05k0KBBAMyZM4fY2FgyMjJ4//33ueaaaxp0LI31GthstoCCaCGaMilXCREEl112Gffffz8//fQT//jHP0z37dy5k7S0NOLi4oiMjGT48OFs2LDB4zlOnTrFggULSEpKIiIiArvdzo033khBQQHgvScnLy+P2bNnY7fbiYiIID4+nkmTJnHw4EHXOd56co4dO8Ytt9xC165diYyMZMiQIfz97383neP8ecuXL+dvf/sbffr0ISIiggsuuIDPP/+8bi9YtddHURRWrFjBsmXL6NWrF5GRkezbtw+AkpIS7rvvPnr37k1ERAQ9e/bkvvvuc2WojF566SWGDh1KVFQUHTt25Ne//jW5ubm1HltycjKAayxG77zzDiNHjiQ6OprY2FgmTZrErl27PM5bvXo1AwYMIDIykvPOO4+NGzdy7bXXMmDAgKC/Bu+99x4jR44kNjaWmJgYBgwYwP/93/+57tc0jccff5yBAwfSpk0bOnTowIUXXkhmZqbrHG89OZqmkZGRwYABA4iIiCAhIYF58+Z5lGhHjBjB8OHD2bFjB5deeilRUVHY7XbS09MDeNWFCB7J5AgRJDfccAN/+tOf+Oc//8mcOXMA+P7777nkkktISEjgj3/8I9HR0bz++utMnjyZN954gylTpgBQVFREcnIyP/74IzfffDO//OUvKSgoYMOGDRw+fNhU4jGaOnUq33//PXfeeSdJSUkcO3aMzZs38/PPP/vMmJSUlJCSksLevXu544476NWrF+vXr2fWrFmcOnWKefPmmc5fvXo1Z86c4dZbb0VRFB599FFSU1PZv39/ULMMK1eupLKykttuu43Q0FBiY2NRVZUJEybwxRdfcOutt9K/f3+++uorli5dyr59+1i7dq3r8ffffz9//etfmTlzJrfeeit5eXk8+eSTfPbZZ3z11VfExMQEPCZnsNihQwfT8RdeeIE5c+YwceJEli5dSlFREU8//TSXXHIJ33zzDQkJCQBkZWVx/fXX88tf/pJHHnmEgoICbrjhBrp37x701+Crr75i0qRJDBs2jMWLFxMeHs7u3bv55JNPXM//1FNPcffddzNz5kwWLFhASUkJX3/9NZ999hlpaWk+X4dFixaxdOlSrrzySu644w5++OEHnnrqKbZv385HH31kyvzk5+czfvx4rr32WmbOnMnatWtZsGABQ4YMYcyYMQH/PxCiTjQhhCUvv/yyBmiff/65z3NiY2O1oUOHum6PHTtWGzx4sFZaWuo65nA4tJEjR2r9+vVzHXvggQc0QMvKyvJ4TofDoWmaph04cEADtJdfflnTNE07efKkBmjLli3zO+7Ro0dro0ePdt1OT0/XAO0f//iH61h5ebl28cUXazExMdrp06dNP69jx47aiRMnXOe+/fbbGqC98847fn+u0bJlyzRAO3DggMd9P/74owZocXFxpp+jaZr2/PPPazabTfvss89Mx52/w/bt2zVN07Rdu3ZpISEh2mOPPWY6b/v27V6PV/fss89qgJadna3l5+drhw4d0tauXavFxcVpbdq00Y4ePeo69+TJk1pMTIx25513mp7j0KFDHsf79++v9e7dWzt79qzr2KZNmzRAO+ecc4L6GixZskRTFMX1/8+bcePGacOGDbP0WuTm5mqapmmHDx/WbDabdvXVV7vei5qmacuXL9cAbfXq1a5jF110kQZor7/+uutYcXGx1rFjR+3666/3+3OFqA9SrhIiiGJiYlwp/BMnTrBlyxamT5/OmTNnKCgooKCggOPHjzNu3Dj27NlDTk4OAG+88QZDhgxxZXaMFEXx+rOioqIIDw9n27ZtnDx50vIY33vvPbp168bMmTNdx8LCwrjrrrsoKirio48+Mp0/Y8YMUybDWcLZv3+/5Z9pRfWfA7B+/XqGDBlC7969Xa9fQUEBY8eOBWDr1q2A/vopisLUqVNN5/Xo0YOkpCTXeTVJTk6mc+fOJCYmcu2119KhQwc2btxIly5dXOe8//77FBUVMXPmTNPPioyMZNiwYa6ftX//fnbv3s2sWbNo06aN6/Hjxo2jX79+QX8N2rdvj6ZpvP3222g+5pO0b9+egwcP8vXXX1t6PQD++c9/oqoqCxYsML0X586dS1RUFO+++67p/Li4OKZNm+a6HRUVxbBhw4L+fhHCCilXCRFERUVFrg/EvXv3omka999/P/fff7/X848dO0ZCQgL79u1j6tSpAf2siIgIli5dyt13303Xrl0ZMWIEEydO5MYbb6Rbt24+H/fTTz/Rr18/QkLM33EGDhzout+oR48eptvOD+FAAisrevXq5XFsz549HDhwgM6dO3t9zLFjx1znqarqs0Tnq9xX3fPPP09SUhInT57k+eef53//+x8REREeYwJ9Zpg3zv//ztexb9++Huf07dvX64d+XV6DG264gZdffpkbbriBu+++m8svv5ypU6cyZcoUV3Dypz/9iY8++oihQ4fSv39/xo0bx/XXX89FF13k9bmNv8c555xjOh4VFUXPnj1rfL+A/p75+eefff4MIeqLBDlCBMnhw4cpLCx0fag5HA4A7rnnHsaNG+f1Md4+AAMxf/58rr76at566y0++OAD7r//fpYsWcKWLVsYOnRonZ7byddMG1/ZgtryNiPN4XAwbNgwHnnkEa+P6dmzp+u8sLAw3nvvPa/ntWvXztIYRowY4ZpdNXnyZEaMGMHMmTPZtWuXa2ab8//runXriIuL83iOusxmq8trEB0dzX/+8x8+/PBD3nvvPTZt2sTq1asZP3487777LoqicN5557F79242btzIpk2bWLduHStWrOCvf/0rixYtqvW4jRrq/SKEFRLkCBEkr776KoAroHGu/xIWFsbll1/u97F9+vThu+++q9XP7dOnD3fffTd33303e/bs4fzzz+exxx7zmOXl1LNnT3bs2IHD4TBlc3bu3Om6v6no06cPBw8etPT6VVRU0L9/f6+ZhNoICwvj4YcfZvz48axcuZL58+e7fhZAt27duPTSS30+3vk67t271+O+vXv3emTSfLH6GoAeYFxxxRVcccUVADzwwAM89NBDfPLJJ4waNQqAtm3bMnPmTGbOnElZWRkTJ07kwQcf5N577/UaoDh/j127dpkapktLS/n5558ZNmyYpd9DiMYgPTlCBMGWLVt46KGH6NWrF9dffz2gly1SUlJ47rnnvE5jzs/Pd12fOnUq33zzDW+++abHeb6+ARcXF1NaWmo61qdPH9q2bUtZWZnPsU6YMIG8vDzWrVvnOlZZWcmKFSuIiYlh9OjR/n/ZBjR9+nT279/PK6+84nHf2bNnKS4uBiAtLQ1FUXjwwQc9znM4HJw4caJWP//KK6/kvPPO4/HHH3etWzNhwgSio6NZvHgxlZWVHo9xTvnv3bs3/fr1Y9WqVa5xAnzwwQeukpcVVl+D48ePe9x//vnnA7jeD9XPiYiIYODAga4FAL254oorsNlsZGRkmN6Lzz77LMXFxVx11VWWfxchGppkcoQI0Pvvv8/OnTuprKzk6NGjbNmyhc2bN9OzZ082bNhgWrDv6aefZtSoUQwePJg5c+bQu3dvjh49yqeffsrhw4f55ptvAFi4cCGZmZlMmzaNm2++mWHDhnHixAk2bNjAypUrGTJkiMc4du/ezdixY5k+fTrnnnsuoaGhvPnmmxw9epRrr73W5/h/+9vf8txzzzFr1iy2b99OUlISmZmZfPLJJ6Snp9O2bdvgv2i1dMstt7imt//zn//k4osvpqKigh9//JHXX3+d7OxsBg0axMCBA3nggQd48MEH2bt3L1dffTXR0dHs37+frKwsFixYwB133FGrMSxcuJAbbriB1157jVmzZtGxY0eefPJJfvOb3zB8+HBmzJhBx44dOXjwIBs3buSKK65g+fLlADz88MNMnz6d5ORkbrzxRvLz83nmmWc499xzXWWvYL0G9913H19+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",
      "text/plain": [
       "PyPlot.Figure(PyObject <matplotlib.figure.Figure object at 0x12cf75450>)"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "using DecisionTree\n",
    "using ScikitLearn\n",
    "using PyPlot\n",
    "\n",
    "# Create a random dataset\n",
    "srand(42)\n",
    "X = sort(5 * rand(80))\n",
    "XX = reshape(X, 80, 1)\n",
    "y = sin.(X)\n",
    "y[1:5:end] += 3 * (0.5 - rand(16))\n",
    "\n",
    "# Fit regression model\n",
    "regr_1 = DecisionTreeRegressor()\n",
    "regr_2 = DecisionTreeRegressor(pruning_purity_threshold=0.05)\n",
    "regr_3 = RandomForestRegressor(ntrees=20)\n",
    "fit!(regr_1, XX, y)\n",
    "fit!(regr_2, XX, y)\n",
    "fit!(regr_3, XX, y)\n",
    "\n",
    "# Predict\n",
    "X_test = 0:0.01:5.0\n",
    "y_1 = predict(regr_1, hcat(X_test))\n",
    "y_2 = predict(regr_2, hcat(X_test))\n",
    "y_3 = predict(regr_3, hcat(X_test))\n",
    "\n",
    "# Plot the results\n",
    "scatter(X, y, c=\"k\", label=\"data\")\n",
    "plot(X_test, y_1, c=\"g\", label=\"no pruning\", linewidth=2)\n",
    "plot(X_test, y_2, c=\"r\", label=\"pruning_purity_threshold=0.05\", linewidth=2)\n",
    "plot(X_test, y_3, c=\"b\", label=\"RandomForestClassifier\", linewidth=2)\n",
    "xlabel(\"data\")\n",
    "ylabel(\"target\")\n",
    "title(\"Decision Tree Regression\")\n",
    "legend(prop=Dict(\"size\"=>10));"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Julia 0.6.0 (Programa)",
   "language": "julia",
   "name": "julia-0.6-programa"
  },
  "language_info": {
   "file_extension": ".jl",
   "mimetype": "application/julia",
   "name": "julia",
   "version": "0.6.0"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 1
}
